﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using TheBullysStore.Models;
using System.Json;
using log4net;
using TheBullysStore.Controllers.ModuloServicios;
using TheBullysStore.Models.ModuloServicios.CuotaDepartamento;
using TheBullysStore.Models.ModuloAdministracion.Edificio;


namespace TheBullysStore.Controllers.ModuloServicio.CuotaDepartamento
{
    public class CuotaDepartamentoController : Controller
    {
        //
        // GET: /CuotaEdificio/

        private TheBullysStoreDB db = new TheBullysStoreDB();
        CuotaDepartamentoDAO cuotadepartamentoDAO = new CuotaDepartamentoDAO();
        EdificioFacade edificioFacade = new EdificioFacade();

        public ActionResult Index()
        {
            return View();
        }

        public ActionResult CuotaDepartamento()
        {
            return View();
        }

        public ActionResult BuscarCuotaDepartamento()
        {
            return View();
        }

        [HttpPost]
        public JsonResult buscarCuotaDepartamento(CuotaDepartamentoBean cuotadepartamento)
        {
            List<CuotaDepartamentoBean> listaCuotaDepartamento = null;
            if (cuotadepartamento.AnioFin>= cuotadepartamento.Anio){
                if (cuotadepartamento.MesFin >= cuotadepartamento.Mes)
                {
                    if (cuotadepartamento.AnioFin <= DateTime.Today.Year)
                    {
                        if (cuotadepartamento.MesFin <= DateTime.Today.Month)
                        {
                            if (cuotadepartamento.Anio <= DateTime.Today.Year)
                            {
                                if (cuotadepartamento.Mes <= DateTime.Today.Month)
                                {
                                    CuotaDepartamentoBean cuotaDepartamento = cuotadepartamentoDAO.cargarMinimoyMaximo(cuotadepartamento);

                                    listaCuotaDepartamento = cuotadepartamentoDAO.ListarCuotaDepartamento(cuotaDepartamento);

                                    if (listaCuotaDepartamento == null)
                                    {
                                        listaCuotaDepartamento = new List<CuotaDepartamentoBean>(0);
                                    }
                                    
                                    if (listaCuotaDepartamento[0].MontoTotalUnico == 0)
                                    {
                                        listaCuotaDepartamento.RemoveAt(0);
                                        //return Json(new { listaCuotaDepartamento });
                                    }


                                    //return Json(new { listaCuotaDepartamento });
                                }
                            }
                        }
                    }
                }

            }
             if (listaCuotaDepartamento==null)
                    {
                        //listaCuotaDepartamento.Add(cuotadepartamento);
                        //listaCuotaDepartamento.RemoveAt(0);
                        //return Json(new { listaCuotaDepartamento });
                 listaCuotaDepartamento = new List<CuotaDepartamentoBean>(0);
                    }
            return Json(new { listaCuotaDepartamento });
        }

        [HttpPost]
        public JsonResult cargarEdificios(EdificioBean edificio)
        {
            //System.Diagnostics.Debug.WriteLine("--------------------------------------________HDP> " + departamento.Nombre);

            List<EdificioBean> listaEdificio = edificioFacade.Listaredificio(edificio);

            //System.Diagnostics.Debug.WriteLine("--------------------------------------_________MIERDA> " + departamento.conexion);

            return Json(new { listaEdificio });
        }
    }
}
